//////////////////////////////////////////////////////////////////
// MattiseOS Kernel
// Date: 2008
// Author: Matthew Iselin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//////////////////////////////////////////////////////////////////

#ifndef STRING_H
#define STRING_H

// Includes
#include <stdint.h>

// Prototypes

// counts the number of characters in a null-terminated string
size_t strlen( const char* str );

// compares two strings
int32_t strcmp( const char* str1, const char* str2 );

// compares two strings (using a byte count instead of zeroes)
int32_t strncmp( const char* str1, const char* str2, size_t count );

// copies two strings
char* strcpy( char* dest, const char* src );

// appends one string to another
char* strcat( char* dest, const char* src );

// finds a character within a string
int32_t find( const char* str, int8_t c, int32_t s, int32_t e );

#endif
